#ifndef CLIENTMANAGER_H
#define CLIENTMANAGER_H

#include <QList>
#include "State/User.h"
#include "ClientThread.h"

struct ClientInfo{
	User user;
	int socketId;
};

class ClientManager
{
	QList<ClientInfo> _users;
	static int _idCounter;
public:
	ClientManager();
	QList<ClientInfo> users();
	void addUser(ClientThread* thread);
	void removeUser(ClientThread* thread);
	void updateName(ClientThread* thread, QString name);
	void updateStatus(ClientThread* thread, UserState state);
};

#endif // CLIENTMANAGER_H
